<!DOCTYPE html>
<html lang="en-US">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>简介 | ruoyi-vue-pro 开发指南</title>
    <meta name="generator" content="VuePress 1.9.2">
    <link rel="icon" href="/img/favicon.ico">
    <script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/js-cookie/3.0.1/js.cookie.js"></script>
    <script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js"></script>
    <script src="https://static.iocoder.cn/answer.js"></script>
    <link rel="stylesheet" href="https://static.iocoder.cn/answer.css">
    <meta name="description"
          content="RuoYi-Vue 全新 Pro 版本，优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue &amp; Element 实现的后台管理系统 + 微信小程序，支持 RBAC 动态权限、数据权限、SaaS 多租户、Activiti + Flowable 工作流、三方登录、支付、短信、商城等功能。">
    <meta name="keywords" content="ruoyi-vue,权限,数据权限,SaaS,多租户,Activiti,Flowable,工作流,商城">
    <meta name="theme-color" content="#11a8cd">

    <link rel="preload" href="/assets/css/0.styles.4e43ca2b.css" as="style">
    <link rel="preload" href="/assets/js/app.0975161f.js" as="script">
    <link rel="preload" href="/assets/js/2.8c292b5b.js" as="script">
    <link rel="preload" href="/assets/js/5.d8e3e10b.js" as="script">
    <link rel="prefetch" href="/assets/js/10.00e05726.js">
    <link rel="prefetch" href="/assets/js/100.0b1eb44b.js">
    <link rel="prefetch" href="/assets/js/101.d19533c6.js">
    <link rel="prefetch" href="/assets/js/102.cc3b61da.js">
    <link rel="prefetch" href="/assets/js/103.0a8c7b34.js">
    <link rel="prefetch" href="/assets/js/104.bc89db35.js">
    <link rel="prefetch" href="/assets/js/105.10872e65.js">
    <link rel="prefetch" href="/assets/js/106.a726969f.js">
    <link rel="prefetch" href="/assets/js/107.5a841ce4.js">
    <link rel="prefetch" href="/assets/js/108.783e2864.js">
    <link rel="prefetch" href="/assets/js/109.b477e2f7.js">
    <link rel="prefetch" href="/assets/js/11.7a358616.js">
    <link rel="prefetch" href="/assets/js/110.d7bd1d46.js">
    <link rel="prefetch" href="/assets/js/111.415cc38d.js">
    <link rel="prefetch" href="/assets/js/112.e3afda8a.js">
    <link rel="prefetch" href="/assets/js/113.bfd4faa1.js">
    <link rel="prefetch" href="/assets/js/114.4897d5be.js">
    <link rel="prefetch" href="/assets/js/115.8622b845.js">
    <link rel="prefetch" href="/assets/js/116.c51dffbd.js">
    <link rel="prefetch" href="/assets/js/117.aa855b7e.js">
    <link rel="prefetch" href="/assets/js/12.cfdc9c5c.js">
    <link rel="prefetch" href="/assets/js/13.b7003945.js">
    <link rel="prefetch" href="/assets/js/14.e8ff6ed6.js">
    <link rel="prefetch" href="/assets/js/15.8d693921.js">
    <link rel="prefetch" href="/assets/js/16.0663e5ed.js">
    <link rel="prefetch" href="/assets/js/17.7dae45fa.js">
    <link rel="prefetch" href="/assets/js/18.0c2570f8.js">
    <link rel="prefetch" href="/assets/js/19.992668b0.js">
    <link rel="prefetch" href="/assets/js/20.80aa6885.js">
    <link rel="prefetch" href="/assets/js/21.0862d3ca.js">
    <link rel="prefetch" href="/assets/js/22.b0c4a6d3.js">
    <link rel="prefetch" href="/assets/js/23.79ed6361.js">
    <link rel="prefetch" href="/assets/js/24.6ceacd25.js">
    <link rel="prefetch" href="/assets/js/25.84423749.js">
    <link rel="prefetch" href="/assets/js/26.b545e005.js">
    <link rel="prefetch" href="/assets/js/27.9b9cd4ea.js">
    <link rel="prefetch" href="/assets/js/28.8c5bfc3c.js">
    <link rel="prefetch" href="/assets/js/29.c02ed511.js">
    <link rel="prefetch" href="/assets/js/3.e47a53ef.js">
    <link rel="prefetch" href="/assets/js/30.2781c383.js">
    <link rel="prefetch" href="/assets/js/31.6785d2ad.js">
    <link rel="prefetch" href="/assets/js/32.3664fd4f.js">
    <link rel="prefetch" href="/assets/js/33.da5c4756.js">
    <link rel="prefetch" href="/assets/js/34.f770e137.js">
    <link rel="prefetch" href="/assets/js/35.03d6e535.js">
    <link rel="prefetch" href="/assets/js/36.b3a88061.js">
    <link rel="prefetch" href="/assets/js/37.d0005db3.js">
    <link rel="prefetch" href="/assets/js/38.645dd145.js">
    <link rel="prefetch" href="/assets/js/39.6e454362.js">
    <link rel="prefetch" href="/assets/js/4.91aa60b6.js">
    <link rel="prefetch" href="/assets/js/40.3f5ca798.js">
    <link rel="prefetch" href="/assets/js/41.a3932be5.js">
    <link rel="prefetch" href="/assets/js/42.40b30e81.js">
    <link rel="prefetch" href="/assets/js/43.7f0b48f2.js">
    <link rel="prefetch" href="/assets/js/44.b2fd9884.js">
    <link rel="prefetch" href="/assets/js/45.3511da3b.js">
    <link rel="prefetch" href="/assets/js/46.1dbc9b1d.js">
    <link rel="prefetch" href="/assets/js/47.c78bb2e0.js">
    <link rel="prefetch" href="/assets/js/48.95f12854.js">
    <link rel="prefetch" href="/assets/js/49.662d8efb.js">
    <link rel="prefetch" href="/assets/js/50.c2ffa5ec.js">
    <link rel="prefetch" href="/assets/js/51.362c157e.js">
    <link rel="prefetch" href="/assets/js/52.6abe6308.js">
    <link rel="prefetch" href="/assets/js/53.08b92642.js">
    <link rel="prefetch" href="/assets/js/54.b06443b6.js">
    <link rel="prefetch" href="/assets/js/55.25125e20.js">
    <link rel="prefetch" href="/assets/js/56.d4309bc3.js">
    <link rel="prefetch" href="/assets/js/57.50674a70.js">
    <link rel="prefetch" href="/assets/js/58.d072fb8b.js">
    <link rel="prefetch" href="/assets/js/59.3909a1e3.js">
    <link rel="prefetch" href="/assets/js/6.bf271ce7.js">
    <link rel="prefetch" href="/assets/js/60.32bd70e9.js">
    <link rel="prefetch" href="/assets/js/61.330ca479.js">
    <link rel="prefetch" href="/assets/js/62.03a582d7.js">
    <link rel="prefetch" href="/assets/js/63.0f073714.js">
    <link rel="prefetch" href="/assets/js/64.a5e98133.js">
    <link rel="prefetch" href="/assets/js/65.fad25de2.js">
    <link rel="prefetch" href="/assets/js/66.2287c5b2.js">
    <link rel="prefetch" href="/assets/js/67.b69371c0.js">
    <link rel="prefetch" href="/assets/js/68.cf15e286.js">
    <link rel="prefetch" href="/assets/js/69.fb017d00.js">
    <link rel="prefetch" href="/assets/js/7.4e3eb6a9.js">
    <link rel="prefetch" href="/assets/js/70.8112295e.js">
    <link rel="prefetch" href="/assets/js/71.1db62416.js">
    <link rel="prefetch" href="/assets/js/72.9d08ad81.js">
    <link rel="prefetch" href="/assets/js/73.0836ccef.js">
    <link rel="prefetch" href="/assets/js/74.fd0c61de.js">
    <link rel="prefetch" href="/assets/js/75.5f7627f6.js">
    <link rel="prefetch" href="/assets/js/76.f7f4590b.js">
    <link rel="prefetch" href="/assets/js/77.691cdeb2.js">
    <link rel="prefetch" href="/assets/js/78.6f4cc874.js">
    <link rel="prefetch" href="/assets/js/79.23a3901d.js">
    <link rel="prefetch" href="/assets/js/8.d41a5bc3.js">
    <link rel="prefetch" href="/assets/js/80.bd27f7a4.js">
    <link rel="prefetch" href="/assets/js/81.f3d596ad.js">
    <link rel="prefetch" href="/assets/js/82.b1df6910.js">
    <link rel="prefetch" href="/assets/js/83.2978eda1.js">
    <link rel="prefetch" href="/assets/js/84.2a44528c.js">
    <link rel="prefetch" href="/assets/js/85.56fb109b.js">
    <link rel="prefetch" href="/assets/js/86.183de73c.js">
    <link rel="prefetch" href="/assets/js/87.f40344cd.js">
    <link rel="prefetch" href="/assets/js/88.a50618a1.js">
    <link rel="prefetch" href="/assets/js/89.d5bb8877.js">
    <link rel="prefetch" href="/assets/js/9.bba484e2.js">
    <link rel="prefetch" href="/assets/js/90.2b720886.js">
    <link rel="prefetch" href="/assets/js/91.d28b1a85.js">
    <link rel="prefetch" href="/assets/js/92.a4f8cef8.js">
    <link rel="prefetch" href="/assets/js/93.78dc86d4.js">
    <link rel="prefetch" href="/assets/js/94.8d6f0758.js">
    <link rel="prefetch" href="/assets/js/95.4a42ad4d.js">
    <link rel="prefetch" href="/assets/js/96.09dc1792.js">
    <link rel="prefetch" href="/assets/js/97.2b549c6a.js">
    <link rel="prefetch" href="/assets/js/98.afe8cda9.js">
    <link rel="prefetch" href="/assets/js/99.549fed37.js">
    <link rel="stylesheet" href="/assets/css/0.styles.4e43ca2b.css">
</head>

<body class="theme-mode-light">
<div id="app" data-server-rendered="true">
    <div class="theme-container sidebar-open have-rightmenu">
        <header class="navbar blur">
            <div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true"
                                                        role="img" viewBox="0 0 448 512" class="icon">
                <path fill="currentColor"
                      d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z">
                </path>
            </svg></div> <a href="/" class="home-link router-link-active"><img src="https://static.iocoder.cn/ruoyi-vue-pro-logo.png" alt="ruoyi-vue-pro 开发指南" class="logo">
            <span class="site-name can-hide">ruoyi-vue-pro 开发指南</span></a>
            <div class="links">
                <div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value="">
                    <!---->
                </div>
                <nav class="nav-links can-hide">
                    <div class="nav-item">
                        <div class="dropdown-wrapper">
                            <button type="button" aria-label="开发指南" class="dropdown-title"><a href="/intro/" aria-current="page" class="link-title router-link-exact-active router-link-active">开发指南</a> <span class="title" style="display:none;">开发指南</span> <span class="arrow right"></span></button>
                            <ul class="nav-dropdown" style="display:none;">
                                <li class="dropdown-item">
                                    <!----> <a href="/intro/" aria-current="page"
                                               class="nav-link router-link-exact-active router-link-active">萌新必读</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/module-new/" class="nav-link">后端手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/bpm/" class="nav-link">工作流手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/report/" class="nav-link">大屏手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/pay/build/" class="nav-link">支付手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/mp/build/" class="nav-link">公众号手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/mall/build/" class="nav-link">商城手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/dev-env/" class="nav-link">运维手册</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/vue2/dev-spec/" class="nav-link">前端手册 Vue 2.x</a></li>
                                <li class="dropdown-item">
                                    <!----> <a href="/vue3/dev-spec/" class="nav-link">前端手册 Vue 3.x</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="nav-item"><a href="/video/" class="nav-link">视频教程</a></div>
                    <div class="nav-item">
                        <div class="dropdown-wrapper">
                            <button type="button" aria-label="在线体验" class="dropdown-title"><!----> <span class="title" style="display:;">在线体验</span> <span class="arrow right"></span></button>
                            <ul class="nav-dropdown" style="display:none;">
                                <li class="dropdown-item">
                                    <!----> <a href="http://dashboard-vue3.yudao.iocoder.cn/" target="_blank"
                                               rel="noopener noreferrer" class="nav-link external">
                                    Vue3 + element-plus
                                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                                <li class="dropdown-item">
                                    <!----> <a href="http://dashboard-vben.yudao.iocoder.cn/" target="_blank"
                                               rel="noopener noreferrer" class="nav-link external">
                                    Vue3 + vben(ant-design-vue)
                                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                                <li class="dropdown-item">
                                    <!----> <a href="http://dashboard.yudao.iocoder.cn/" target="_blank"
                                               rel="noopener noreferrer" class="nav-link external">
                                    Vue2 + element-ui
                                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                            </ul>
                        </div>
                    </div>
                    <div class="nav-item"><a href="https://github.com/YunaiV/yudao-cloud" target="_blank"
                                             rel="noopener noreferrer" class="nav-link external">
                        微服务版
                        <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                    </div>
                    <div class="nav-item"><a href="https://www.iocoder.cn/" target="_blank"
                                             rel="noopener noreferrer" class="nav-link external">
                        作者博客
                        <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                    </div> <a href="https://github.com/YunaiV/ruoyi-vue-pro" target="_blank"
                              rel="noopener noreferrer" class="repo-link">
                    GitHub
                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                </nav>
            </div>
        </header>
        <div class="sidebar-mask"></div>
        <div class="sidebar-hover-trigger"></div>
        <aside class="sidebar" style="display:none;">
            <!---->
            <nav class="nav-links">
                <div class="nav-item">
                    <div class="dropdown-wrapper">
                        <button type="button" aria-label="开发指南" class="dropdown-title"><a href="/intro/" aria-current="page" class="link-title router-link-exact-active router-link-active">开发指南</a> <span class="title" style="display:none;">开发指南</span> <span class="arrow right"></span></button>
                        <ul class="nav-dropdown" style="display:none;">
                            <li class="dropdown-item">
                                <!----> <a href="/intro/" aria-current="page"
                                           class="nav-link router-link-exact-active router-link-active">萌新必读</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/module-new/" class="nav-link">后端手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/bpm/" class="nav-link">工作流手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/report/" class="nav-link">大屏手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/pay/build/" class="nav-link">支付手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/mp/build/" class="nav-link">公众号手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/mall/build/" class="nav-link">商城手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/dev-env/" class="nav-link">运维手册</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/vue2/dev-spec/" class="nav-link">前端手册 Vue 2.x</a></li>
                            <li class="dropdown-item">
                                <!----> <a href="/vue3/dev-spec/" class="nav-link">前端手册 Vue 3.x</a></li>
                        </ul>
                    </div>
                </div>
                <div class="nav-item"><a href="/video/" class="nav-link">视频教程</a></div>
                <div class="nav-item">
                    <div class="dropdown-wrapper">
                        <button type="button" aria-label="在线体验" class="dropdown-title"><!----> <span class="title" style="display:;">在线体验</span> <span class="arrow right"></span></button>
                        <ul class="nav-dropdown" style="display:none;">
                            <li class="dropdown-item">
                                <!----> <a href="http://dashboard-vue3.yudao.iocoder.cn/" target="_blank"
                                           rel="noopener noreferrer" class="nav-link external">
                                Vue3 + element-plus
                                <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                            </li>
                            <li class="dropdown-item">
                                <!----> <a href="http://dashboard-vben.yudao.iocoder.cn/" target="_blank"
                                           rel="noopener noreferrer" class="nav-link external">
                                Vue3 + vben(ant-design-vue)
                                <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                            </li>
                            <li class="dropdown-item">
                                <!----> <a href="http://dashboard.yudao.iocoder.cn/" target="_blank"
                                           rel="noopener noreferrer" class="nav-link external">
                                Vue2 + element-ui
                                <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                            </li>
                        </ul>
                    </div>
                </div>
                <div class="nav-item"><a href="https://github.com/YunaiV/yudao-cloud" target="_blank"
                                         rel="noopener noreferrer" class="nav-link external">
                    微服务版
                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                </div>
                <div class="nav-item"><a href="https://www.iocoder.cn/" target="_blank" rel="noopener noreferrer"
                                         class="nav-link external">
                    作者博客
                    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                </div> <a href="https://github.com/YunaiV/ruoyi-vue-pro" target="_blank" rel="noopener noreferrer"
                          class="repo-link">
                GitHub
                <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
            </nav>
            <ul class="sidebar-links">
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading open"><span>萌新必读</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/intro/" aria-current="page" class="active sidebar-link">简介</a>
                                <ul class="sidebar-sub-headers">
                                    <li class="sidebar-sub-header level2"><a href="/intro/#🐴-严肃声明"
                                                                             class="sidebar-link">🐴 严肃声明</a></li>
                                    <li class="sidebar-sub-header level2"><a href="/intro/#🐳-项目关系"
                                                                             class="sidebar-link">🐳 项目关系</a>
                                        <ul class="sidebar-sub-headers">
                                            <li class="sidebar-sub-header level3"><a href="/intro/#后端项目"
                                                                                     class="sidebar-link">后端项目</a></li>
                                            <li class="sidebar-sub-header level3"><a href="/intro/#前端项目"
                                                                                     class="sidebar-link">前端项目</a></li>
                                        </ul>
                                    </li>
                                    <li class="sidebar-sub-header level2"><a href="/intro/#🐶-在线体验"
                                                                             class="sidebar-link">🐶 在线体验</a></li>
                                    <li class="sidebar-sub-header level2"><a href="/intro/#📚-国内顶级开源项目对比"
                                                                             class="sidebar-link">📚 国内顶级开源项目对比</a></li>
                                </ul>
                            </li>
                            <li><a href="/qun/" class="sidebar-link">交流群</a></li>
                            <li><a href="/video/" class="sidebar-link">视频教程</a></li>
                            <li><a href="/feature/" class="sidebar-link">功能列表</a></li>
                            <li><a href="/quick-start/" class="sidebar-link">快速启动（适合“后端”工程师）</a></li>
                            <li><a href="/quick-start-front/" class="sidebar-link">快速启动（适合“前端”工程师）</a></li>
                            <li><a href="/api-doc/" class="sidebar-link">接口文档</a></li>
                            <li><a href="/technology/" class="sidebar-link">技术选型</a></li>
                            <li><a href="/project-intro/" class="sidebar-link">项目结构</a></li>
                            <li><a href="/dev-hot-swap/" class="sidebar-link">代码热加载</a></li>
                            <li><a href="/project-rename/" class="sidebar-link">一键改包</a></li>
                            <li><a href="/delete-code/" class="sidebar-link">删除功能</a></li>
                            <li><a href="/natapp/" class="sidebar-link">内网穿透</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>后端手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/module-new/" class="sidebar-link">新建模块</a></li>
                            <li><a href="/new-feature/" class="sidebar-link">代码生成（新增功能）</a></li>
                            <li><a href="/resource-permission/" class="sidebar-link">功能权限</a></li>
                            <li><a href="/data-permission/" class="sidebar-link">数据权限</a></li>
                            <li><a href="/user-center/" class="sidebar-link">用户体系</a></li>
                            <li><a href="/social-user/" class="sidebar-link">三方登录</a></li>
                            <li><a href="/oauth2/" class="sidebar-link">OAuth 2.0（SSO 单点登录)</a></li>
                            <li><a href="/saas-tenant/" class="sidebar-link">SaaS 多租户【字段隔离】</a></li>
                            <li><a href="/saas-tenant/dynamic/" class="sidebar-link">SaaS 多租户【数据库隔离】</a></li>
                            <li><a href="/exception/" class="sidebar-link">异常处理（错误码）</a></li>
                            <li><a href="/validator/" class="sidebar-link">参数校验</a></li>
                            <li><a href="/page-feature/" class="sidebar-link">分页实现</a></li>
                            <li><a href="/file/" class="sidebar-link">文件存储（上传下载）</a></li>
                            <li><a href="/excel-import-and-export/" class="sidebar-link">Excel 导入导出</a></li>
                            <li><a href="/system-log/" class="sidebar-link">系统日志</a></li>
                            <li><a href="/mybatis/" class="sidebar-link">数据库 MyBatis</a></li>
                            <li><a href="/dynamic-datasource/" class="sidebar-link">多数据源（读写分离）</a></li>
                            <li><a href="/redis-cache/" class="sidebar-link">Redis 缓存</a></li>
                            <li><a href="/local-cache/" class="sidebar-link">本地缓存</a></li>
                            <li><a href="/job/" class="sidebar-link">定时任务</a></li>
                            <li><a href="/async-task/" class="sidebar-link">异步任务</a></li>
                            <li><a href="/message-queue/" class="sidebar-link">消息队列</a></li>
                            <li><a href="/config-center/" class="sidebar-link">配置管理</a></li>
                            <li><a href="/util/" class="sidebar-link">工具类 Util</a></li>
                            <li><a href="/unit-test/" class="sidebar-link">单元测试</a></li>
                            <li><a href="/distributed-lock/" class="sidebar-link">分布式锁</a></li>
                            <li><a href="/idempotent/" class="sidebar-link">幂等性（防重复提交）</a></li>
                            <li><a href="/server-protection/" class="sidebar-link">限流熔断</a></li>
                            <li><a href="/db-doc/" class="sidebar-link">数据库文档</a></li>
                            <li><a href="/sms/" class="sidebar-link">短信配置</a></li>
                            <li><a href="/mail/" class="sidebar-link">邮件配置</a></li>
                            <li><a href="/notify/" class="sidebar-link">站内信配置</a></li>
                            <li><a href="/desensitize/" class="sidebar-link">数据脱敏</a></li>
                            <li><a href="/sensitive-word/" class="sidebar-link">敏感词</a></li>
                            <li><a href="/captcha/" class="sidebar-link">验证码</a></li>
                            <li><a href="/area-and-ip/" class="sidebar-link">地区 &amp; IP 库</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>工作流手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/bpm/" class="sidebar-link">工作流（Flowable）会签、或签</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>大屏手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/report/" class="sidebar-link">报表设计器</a></li>
                            <li><a href="/report/screen/" class="sidebar-link">大屏设计器</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>支付手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/pay/build/" class="sidebar-link">功能开启</a></li>
                            <li><a href="/pay/alipay-pay-demo/" class="sidebar-link">支付宝支付接入</a></li>
                            <li><a href="/pay/wx-pub-pay-demo/" class="sidebar-link">微信公众号支付接入</a></li>
                            <li><a href="/pay/wx-lite-pay-demo/" class="sidebar-link">微信小程序支付接入</a></li>
                            <li><a href="/pay/refund-demo/" class="sidebar-link">支付宝、微信退款接入</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>商城手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/mall/build/" class="sidebar-link">功能开启</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>公众号手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/mp/build/" class="sidebar-link">功能开启</a></li>
                            <li><a href="/mp/account/" class="sidebar-link">公众号接入</a></li>
                            <li><a href="/mp/user/" class="sidebar-link">公众号粉丝</a></li>
                            <li><a href="/mp/tag/" class="sidebar-link">公众号标签</a></li>
                            <li><a href="/mp/message/" class="sidebar-link">公众号消息</a></li>
                            <li><a href="/mp/auto-reply/" class="sidebar-link">自动回复</a></li>
                            <li><a href="/mp/menu/" class="sidebar-link">公众号菜单</a></li>
                            <li><a href="/mp/material/" class="sidebar-link">公众号素材</a></li>
                            <li><a href="/mp/article/" class="sidebar-link">公众号图文</a></li>
                            <li><a href="/mp/statistics/" class="sidebar-link">公众号统计</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>运维手册</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/dev-env/" class="sidebar-link">开发环境</a></li>
                            <li><a href="/deployment-linux/" class="sidebar-link">Linux 部署</a></li>
                            <li><a href="/deployment-docker/" class="sidebar-link">Docker 部署</a></li>
                            <li><a href="/deployment-jenkins/" class="sidebar-link">Jenkins 部署</a></li>
                            <li><a href="/https/" class="sidebar-link">HTTPS 证书</a></li>
                            <li><a href="/server-monitor/" class="sidebar-link">服务监控</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>前端手册 Vue 2</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/vue2/dev-spec/" class="sidebar-link">开发规范</a></li>
                            <li><a href="/vue2/route/" class="sidebar-link">菜单路由</a></li>
                            <li><a href="/vue2/icon/" class="sidebar-link">Icon 图标</a></li>
                            <li><a href="/vue2/dict/" class="sidebar-link">字典数据</a></li>
                            <li><a href="/vue2/components/" class="sidebar-link">系统组件</a></li>
                            <li><a href="/vue2/util/" class="sidebar-link">通用方法</a></li>
                            <li><a href="/vue2/config-center/" class="sidebar-link">配置读取</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>前端手册 Vue 3</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/vue3/dev-spec/" class="sidebar-link">开发规范</a></li>
                            <li><a href="/vue3/route/" class="sidebar-link">菜单路由</a></li>
                            <li><a href="/vue3/icon/" class="sidebar-link">Icon 图标</a></li>
                            <li><a href="/vue3/dict/" class="sidebar-link">字典数据</a></li>
                            <li><a href="/vue3/components/" class="sidebar-link">系统组件</a></li>
                            <li><a href="/vue3/util/" class="sidebar-link">通用方法</a></li>
                            <li><a href="/vue3/config-center/" class="sidebar-link">配置读取</a></li>
                            <li><a href="/vue3/crud-schema/" class="sidebar-link">CRUD 组件</a></li>
                            <li><a href="/vue3/i18n/" class="sidebar-link">国际化</a></li>
                            <li><a href="/vue3/debugger/" class="sidebar-link">IDE 调试</a></li>
                        </ul>
                    </section>
                </li>
                <li>
                    <section class="sidebar-group depth-0">
                        <p class="sidebar-heading"><span>更新日志</span>
                            <!---->
                        </p>
                        <ul class="sidebar-links sidebar-group-items">
                            <li><a href="/changelog/1.8.1/" class="sidebar-link">【v1.8.0】2023-07-27</a></li>
                            <li><a href="/changelog/1.8.0/" class="sidebar-link">【v1.8.0】2023-07-27</a></li>
                            <li><a href="/changelog/1.7.3/" class="sidebar-link">【v1.7.3】2023-05-29</a></li>
                            <li><a href="/changelog/1.7.2/" class="sidebar-link">【v1.7.2】2023-04-19</a></li>
                            <li><a href="/changelog/1.7.1/" class="sidebar-link">【v1.7.1】2023-03-05</a></li>
                            <li><a href="/changelog/1.7.0/" class="sidebar-link">【v1.7.0】2023-01-30</a></li>
                            <li><a href="/changelog/1.6.6/" class="sidebar-link">【v1.6.6】2023-01-05</a></li>
                            <li><a href="/changelog/1.6.5/" class="sidebar-link">【v1.6.5】2022-12-01</a></li>
                            <li><a href="/changelog/1.6.4/" class="sidebar-link">【v1.6.4】2022-08-22</a></li>
                            <li><a href="/changelog/1.6.3/" class="sidebar-link">【v1.6.3】2022-07-29</a></li>
                            <li><a href="/changelog/1.6.2/" class="sidebar-link">【v1.6.2】2022-06-05</a></li>
                            <li><a href="/changelog/1.6.1/" class="sidebar-link">【v1.6.1】2022-03-21</a></li>
                            <li><a href="/changelog/1.6.0/" class="sidebar-link">【v1.6.0】2022-03-10</a></li>
                            <li><a href="/changelog/1.5.1/" class="sidebar-link">【v1.5.1】2022-02-28</a></li>
                            <li><a href="/changelog/1.5.0/" class="sidebar-link">【v1.5.0】2022-02-17</a></li>
                            <li><a href="/changelog/1.4.0/" class="sidebar-link">【v1.4.0】2022-02-04</a></li>
                            <li><a href="/changelog/1.3.0/" class="sidebar-link">【v1.3.0】2022.01.24</a></li>
                            <li><a href="/changelog/1.2.0/" class="sidebar-link">【v1.2.0】2021.12.15</a></li>
                            <li><a href="/changelog/1.1.0/" class="sidebar-link">【v1.1.0】2021.10.25</a></li>
                            <li><a href="/changelog/1.0.0/" class="sidebar-link">【v1.0.0】2021.05.03</a></li>
                        </ul>
                    </section>
                </li>
            </ul>
        </aside>
        <div>
            <main class="page">
                <div class="theme-vdoing-wrapper ">
                    <div class="articleInfo-wrap" data-v-0c557b5e>
                        <div class="articleInfo" data-v-0c557b5e>
                            <ul class="breadcrumbs" data-v-0c557b5e>
                                <li data-v-0c557b5e><a href="/" title="首页"
                                                       class="iconfont icon-home router-link-active" data-v-0c557b5e></a></li>
                                <li data-v-0c557b5e><span data-v-0c557b5e>开发指南</span></li>
                                <li data-v-0c557b5e><span data-v-0c557b5e>萌新必读</span></li>
                            </ul>
                            <div class="info" data-v-0c557b5e>
                                <div title="作者" class="author iconfont icon-touxiang" data-v-0c557b5e><a
                                        href="https://www.iocoder.cn" target="_blank" title="作者" class="beLink"
                                        data-v-0c557b5e>芋道源码</a></div>
                                <div title="创建时间" class="date iconfont icon-riqi" data-v-0c557b5e><a
                                        href="javascript:;" data-v-0c557b5e>2022-03-01</a></div>
                                <!---->
                            </div>
                        </div>
                    </div>
                    <!---->
                    <div class="content-wrapper">
                        <div class="right-menu-wrapper">
                            <div class="right-menu-margin">
                                <div class="right-menu-title">目录</div>
                                <div class="right-menu-content"></div>
                            </div>
                        </div>
                        <h1><img src="">简介
                            <!---->
                        </h1>
                        <div class="theme-vdoing-content content__default">
                            <p><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro" target="_blank"
                                  rel="noopener noreferrer">yudao-vue-pro<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>，RuoYi-Vue
                                全新 Pro 版本，优化重构所有功能。</p>
                            <p>基于 Spring Boot + MyBatis Plus + Vue &amp; Element 实现的后台管理系统 + UniApp 微信小程序，支持 RBAC
                                动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城等功能。</p>
                            <p><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro" target="_blank"
                                  rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                <a href="https://github.com/YunaiV/ruoyi-vue-pro" target="_blank"
                                   rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                            </p>
                            <div class="custom-block tip">
                                <p class="custom-block-title">😆 为开源继绝学，我辈义不容辞！</p>
                                <p>2017 年，艿艿创建「芋道源码」公众号，帮助了 20w+ 工程师学习优秀框架的源码。</p>
                                <p>2019 年，看了 Gitee 和 Github 非常多的业务开源项目，无法到达代码整洁、架构整洁。</p>
                                <p>于是，艿艿利用休息时间，每天肝到晚上 1 点多，如此便有了芋道管理后台 + 微信小程序。</p>
                            </div>
                            <h2 id="🐴-严肃声明"><a href="#🐴-严肃声明" class="header-anchor">#</a> 🐴 严肃声明</h2>
                            <p><strong>现在、未来都不会有商业版本，所有代码全部开源！</strong></p>
                            <p><strong>「我喜欢写代码，乐此不疲」</strong><br> <strong>「我喜欢做开源，以此为乐」</strong></p>
                            <p>我 🐶 在上海艰苦奋斗，早中晚在 top3 大厂认真搬砖，夜里为开源做贡献。</p>
                            <p>如果这个项目让你有所收获，记得 Star 关注哦，这对我是非常不错的鼓励与支持。</p>
                            <h2 id="🐳-项目关系"><a href="#🐳-项目关系" class="header-anchor">#</a> 🐳 项目关系</h2>
                            <p><img src="https://static.iocoder.cn/yudao-roadmap.png?imageView2/2/format/webp" alt="架构演进"></p>
                            <p>三个项目的功能对比，可见社区共同整理的 <a href="https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn"
                                                      target="_blank"
                                                      rel="noopener noreferrer">国产开源项目对比<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                表格。</p>
                            <h3 id="后端项目"><a href="#后端项目" class="header-anchor">#</a> 后端项目</h3>
                            <table>
                                <thead>
                                <tr>
                                    <th>项目</th>
                                    <th>Star</th>
                                    <th>简介</th>
                                </tr>
                                </thead>
                                <tbody>
                                <tr>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro"
                                           target="_blank"
                                           rel="noopener noreferrer">ruoyi-vue-pro<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/YunaiV/ruoyi-vue-pro" target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 Spring Boot 多模块架构</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/zhijiantianya/yudao-cloud"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-cloud<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/yudao-cloud"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/yudao-cloud/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/YunaiV/yudao-cloud" target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/yudao-cloud.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 Spring Cloud 微服务架构</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/yudaocode/SpringBoot-Labs"
                                           target="_blank"
                                           rel="noopener noreferrer">Spring-Boot-Labs<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/yudao-cloud"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/yudaocode/SpringBoot-Labs/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/yudaocode/SpringBoot-Labs"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/yudaocode/SpringBoot-Labs.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>系统学习 Spring Boot &amp; Cloud 专栏</td>
                                </tr>
                                </tbody>
                            </table>
                            <h3 id="前端项目"><a href="#前端项目" class="header-anchor">#</a> 前端项目</h3>
                            <table>
                                <thead>
                                <tr>
                                    <th>项目</th>
                                    <th>Star</th>
                                    <th>简介</th>
                                </tr>
                                </thead>
                                <tbody>
                                <tr>
                                    <td><a href="https://gitee.com/yudaocode/yudao-ui-admin-vue3"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-ui-admin-vue3<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/yudaocode/yudao-ui-admin-vue3"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/yudaocode/yudao-ui-admin-vue3/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/yudaocode/yudao-ui-admin-vue3"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/yudaocode/yudao-ui-admin-vue3.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 Vue3 + element-plus 实现的管理后台</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-admin"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-ui-admin<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-admin"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/YunaiV/ruoyi-vue-pro/tree/master/yudao-ui-admin"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 Vue2 + element-ui 实现的管理后台</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-admin-uniapp"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-ui-admin-uniapp<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-admin-uniapp"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/YunaiV/ruoyi-vue-pro/tree/master/yudao-ui-admin-uniapp"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 uni-app + uni-ui 实现的管理后台的小程序</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/yudaocode/yudao-ui-go-view"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-ui-go-view<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/yudaocode/yudao-ui-go-view"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/yudaocode/yudao-ui-go-view/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/yudaocode/yudao-ui-go-view"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/yudaocode/yudao-ui-go-view.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 Vue3 + naive-ui 实现的大屏报表</td>
                                </tr>
                                <tr>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-app"
                                           target="_blank"
                                           rel="noopener noreferrer">yudao-ui-app<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td><a href="https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-app"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white" alt="Gitee star"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                        <a href="https://github.com/YunaiV/ruoyi-vue-pro/tree/master/yudao-ui-app"
                                           target="_blank"
                                           rel="noopener noreferrer"><img src="https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&amp;label=Stars" alt="GitHub stars"><span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                    </td>
                                    <td>基于 uni-app + uview 实现的用户 App</td>
                                </tr>
                                </tbody>
                            </table>
                            <h2 id="🐶-在线体验"><a href="#🐶-在线体验" class="header-anchor">#</a> 🐶 在线体验</h2>
                            <ul>
                                <li>演示地址【Vue3 + element-plus】：<a href="http://dashboard-vue3.yudao.iocoder.cn"
                                                                 target="_blank"
                                                                 rel="noopener noreferrer">http://dashboard-vue3.yudao.iocoder.cn<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                                <li>演示地址【Vue3 + vben(ant-design-vue)】：<a
                                        href="http://dashboard-vben.yudao.iocoder.cn" target="_blank"
                                        rel="noopener noreferrer">http://dashboard-vben.yudao.iocoder.cn<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                                <li>演示地址【Vue2 + element-ui】：<a href="http://dashboard.yudao.iocoder.cn"
                                                               target="_blank"
                                                               rel="noopener noreferrer">http://dashboard.yudao.iocoder.cn<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
                                </li>
                            </ul>
                            <p>如果你要搭建本地环境，可参考如下文档：</p>
                            <ul>
                                <li><a href="/quick-start">《开发指南 —— 快速启动（适合“后端”工程师）》</a></li>
                                <li><a href="/quick-start-front">《开发指南 —— 快速启动（适合“前端”工程师）》</a></li>
                            </ul>
                            <h2 id="📚-国内顶级开源项目对比"><a href="#📚-国内顶级开源项目对比" class="header-anchor">#</a> 📚
                                国内顶级开源项目对比</h2>
                            <p>社区整理，欢迎补充！<a
                                    href="https://www.yuque.com/docs/share/879c8e99-23ef-46b1-b6d8-9b66426380c1"
                                    target="_blank">传送门</a></p> <iframe
                                src="https://www.yuque.com/docs/share/879c8e99-23ef-46b1-b6d8-9b66426380c1#qam2"
                                width="105%" height="600"></iframe>
                        </div>
                    </div>
                    <div class="page-slot page-slot-bottom">
                        <div class="wwads-cn wwads-horizontal pageB" data-id="136"
                             style="width:100%;max-height:80px;min-height:auto;"></div>
                        <style>
                            .pageB img {
                                width: 80px !important;
                            }

                            .wwads-horizontal .wwads-text,
                            .wwads-content .wwads-text {
                                line-height: 1;
                            }
                        </style>
                    </div>
                    <div class="page-edit">
                        <!---->
                        <!---->
                        <div class="last-updated"><span class="prefix">上次更新:</span>
                            <span class="time">2023/04/24, 08:45:33</span></div>
                    </div>
                    <div class="page-nav-wapper">
                        <div class="page-nav-centre-wrap">
                            <!----> <a href="/qun/" class="page-nav-centre page-nav-centre-next">
                            <div class="tooltip">交流群</div>
                        </a></div>
                        <div class="page-nav">
                            <p class="inner">
                                <!----> <span class="next"><a href="/qun/">交流群</a>→
      </span></p>
                        </div>
                    </div>
                </div>
                <!---->
            </main>
        </div>
        <div class="footer">
            <div class="icons"><a href="mailto:7685413@qq.com" title="发邮件" target="_blank"
                                  class="iconfont icon-youjian"></a><a href="https://github.com/YunaiV" title="GitHub"
                                                                       target="_blank" class="iconfont icon-github"></a><a href="https://www.iocoder.cn/?yudao"
                                                                                                                           title="博客" target="_blank" class="iconfont icon-erji"></a></div>
            Theme by
            <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
            | Copyright © 2019-2023
            <span>芋道源码 | MIT License</span>
        </div>
        <div class="buttons">
            <div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div>
            <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div>
            <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti">
                <ul class="select-box" style="display:none;">
                    <li class="iconfont icon-zidong">
                        跟随系统
                    </li>
                    <li class="iconfont icon-rijianmoshi">
                        浅色模式
                    </li>
                    <li class="iconfont icon-yejianmoshi">
                        深色模式
                    </li>
                    <li class="iconfont icon-yuedu">
                        阅读模式
                    </li>
                </ul>
            </div>
        </div>
        <!---->
        <!---->
        <div class="custom-html-window custom-html-window-rb" style="display:;">
            <div class="custom-wrapper"><span class="close-but">×</span>
                <div>
                    <div class="wwads-cn wwads-vertical windowRB" data-id="136" style="max-width:160px;
    min-width: auto;min-height:auto;"></div>
                    <style>
                        .windowRB {
                            padding: 0;
                        }

                        .windowRB .wwads-img {
                            margin-top: 10px;
                        }

                        .windowRB .wwads-content {
                            margin: 0 10px 10px 10px;
                        }

                        .custom-html-window-rb .close-but {
                            display: none;
                        }
                    </style>
                </div>
            </div>
        </div>
    </div>
    <div class="global-ui"></div>
</div>
<script src="/assets/js/app.0975161f.js" defer></script>
<script src="/assets/js/2.8c292b5b.js" defer></script>
<script src="/assets/js/5.d8e3e10b.js" defer></script>
</body>

</html>